# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Dwarf Fortress Template

game: Dwarf Fortress
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Dwarf Fortress: 1.3.2 # Version of the world required for this yaml to work as expected.

Dwarf Fortress:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  energy_link:
    # Allow sending energy to other worlds. Used to call a caravan early in the season.
    'false': 50
    'true': 0

  goal:
    # The win condition for the Dwarf Fortress world.
    # 
    # - slay_megabeast: muster a military and slay the beast that falls on your fortress. HARD.
    # - legendary_wealth: amass a treasury value in minted coins and cut gems (default).
    # - population_boom: grow to a target population. UNSTABLE / UNFINISHED - not recommended.
    # - mountainhome: achieve Mountainhome status (the monarch takes residence). Very difficult.
    # - king_remains: recover all the Remains of the Great King.
    # - dwarfsanity: recover all your blueprints and permits. (permits must be enabled)
    slay_megabeast: 0
    legendary_wealth: 50
    population_boom: 0
    mountainhome: 0
    king_remains: 0
    dwarfsanity: 0

  trades_inlogic:
    # Should trading resources be considered in logic?
    # EX: trades for metal bars instead of requiring a Smelter Blueprint
    'false': 50
    'true': 0

  mining_depth:
    # You are only allowed to mine down to certain Z levels depending on the generated map (based on discoveries).
    # When enabled, you need to find your Progressive Mining Depth Items to dig deeper. Here are the thresholds:
    # - 0 = Just before Cavern 1
    # - 1 = Just before Cavern 2
    # - 2 = Just before Cavern 3
    # - 3 = Just before Magma Sea
    # - 4 = Everything
    'false': 0
    'true': 50

  trap_item_weight:
    # Percentage of filler items that are traps (0 = no traps, 100 = all traps).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  exclude_deep_endgame_checks:
    # Keep progression out of the deep / endgame checks (filler only):
    # Reached the Magma Sea, Welcome to the Circus, Mined Adamantine.
    'false': 50
    'true': 0

  exclude_top_room_checks:
    # Keep progression out of the top room / location tiers (filler only): the Grand
    # & Royal Bedroom / Throne Room / Dining Room / Mausoleum tiers, Temple Complex,
    # and Grand Guildhall.
    'false': 50
    'true': 0

  exclude_top_fortress_checks:
    # Keep progression out of the top fortress milestones (filler only):
    # City & Metropolis Established, Duke Appointed, Monarch Takes Residence.
    'false': 50
    'true': 0

  #################
  # Goal Settings #
  #################
  wealth_goal_amount:
    # Target fortress wealth when goal is 'Legendary Wealth'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10000
    # Maximum value is 1000000
    100000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10000-1000000: 0 # random value between 10000 and 1000000

  population_goal_amount:
    # Target fortress population when goal is 'Population Boom'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 500
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-500: 0 # random value between 20 and 500

  remains_great_king:
    # "Treasure hunters, Kobolds and Goblins has plundered our great halls and took the remains of our great king.
    # They have traded them outside of our realm and we need our friends to help find them.
    # We need to find all X remains to bring our great king back into our halls."
    # Craftsanity or Skillsanity may be required depending on how many remains are shuffled.
    # When goal is 'King Remains'. (This works similar to Triforce Hunt in AP)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-100: 0 # random value between 5 and 100

  ##############
  # Death Link #
  ##############
  deathlink:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  deathlink_threshold:
    # How many of your dwarves must die to send one DeathLink to other players.
    # Incoming DeathLinks kill this many of your dwarves in return.
    # Set to 1 for classic one-death-equals-one-death behaviour.
    # When Death Link Percentage is enabled, this value is treated as a percentage of your current population.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-50: 0 # random value between 1 and 50

  deathlink_percentage:
    # When enabled, the Death Link Threshold is treated as a percentage of your current population
    # rather than a flat dwarf count.
    # Example: threshold=10 with 80 dwarves kills/requires 8 dwarves per DeathLink.
    'false': 50
    'true': 0

  ###############
  # Craftsanity #
  ###############
  craftsanity:
    # Enable Craftsanity where you are required to make X amount of Items.
    # If option_storage is selected, the X amount needs to be present in storage.
    'off': 0
    'on': 50
    storage: 0

  craftpermits:
    # If Crafting Permits is enabled, you cannot craft certian items until you got the appropriate permit.
    # When set to "on", you start with the following permits:
    # Beds, Charcoal, Leather, Cloth, Alcohol, Prepared Meal, Barrels, Burial Containers
    # When set to "all", all permits are required
    # Craftsanity must be enabled to use this feature as it adds 97 additional items.
    'off': 50
    'on': 0
    all: 0

  craftsanity_difficulty:
    # Selects which items count as craftsanity location checks.
    # Easy: 10 basic items craftable from the very start.
    # (Beds, Blocks, Alcohol, Chair, Table, Door, Barrel, Bucket, Container, Cloth)
    # 
    # Medium: 25 early-game items across common workshops.
    # (Easy + Crafts, Mechanism, Cage, Leather, Prepared Meal, Bin, Cabinet, Floodgate, Animal Trap, Statue, Armor Stand, Pedestal, Weapon Rack, Corkscrew, Bookcase)
    # 
    # Hard: ~45 items spanning early and late game production.
    # (Easy + Medium + Metal Bars, Glass, Ash, Charcoal, all Armor, Crossbow, Bolt, Battle Axe, Short Sword,
    # War Hammer, Anvil, Rope/Chain, Coins, Goblet, Tallow, Oil, Dye, Traction Bench)
    # Craftsanity: Every craftable item becomes a check.
    # Choose: Pick items manually using the 'Craftsanity Items Locations' list below.
    easy: 0
    medium: 50
    hard: 0
    craftsanity: 0
    choose: 0

  craftsanity_items:
    # Manual item selection for craftsanity checks.
    # Only active when Craftsanity Item Group is set to 'Choose'.
    ['Rope/Chain', 'Hood', 'Statue', 'Press Cake', 'Pipe Section', 'Backpack', 'Soap', 'Large Pot', 'Die', 'Battle Axe', 'Armor Stand', 'Window', 'Table', 'War Hammer', 'Helm', 'Animal Trap', 'Mug', 'Greaves', 'Menacing Spike', 'Cup', 'Gauntlets', 'Scepter', 'Splint', 'Buckler', 'Cloth', 'Leather', 'Loincloth', 'Serrated Disc', 'Tallow', 'Lye', 'Barrel', 'Blocks', 'Container', 'Vest', 'Bee Wax', 'Grate', 'Mechanism', 'Hatch Cover', 'Bin', 'Glass', 'Spiked Ball', 'Ash', 'Ballista Arrows', 'Alcohol', 'Wheelbarrow', 'Floodgate', 'Figurine', 'Stepladder', 'Beds', 'Training Axe', 'Slab', 'Charcoal', 'Coins', 'Honey', 'Gloves', 'Corkscrew', 'Pick', 'Scroll', 'Crafts', 'Crown', 'Dress', 'Jug', 'Bucket', 'Burial Container', 'Chair', 'Robe', 'Leather Armor', 'Mace', 'Altar', 'Shirt', 'Traction Bench', 'Coat', 'Training Spear', 'Bracelet', 'Liquid Container', 'Bookcase', 'Pedestal', 'Catapult Parts', 'Display Case', 'Ballista Parts', 'Cabinet', 'Book Binding', 'Door', 'Braies', 'Weapon Rack', 'Trousers', 'Shield', 'Anvil', 'Potash', 'Cloak', 'Scroll Roller', 'Millstone', 'Coke Bars', 'Bag', 'Cap', 'Shoes', 'Quiver', 'Sheet', 'Tunic', 'Minecart', 'Goblet', 'Bolt Thrower Parts', 'Quicklime', 'Totem', 'Oil', 'Mittens', 'Quern', 'Toga', 'Earring', 'Metal Bars', 'Crossbow', 'Hive', 'Amulet', 'Nest Box', 'Quire', 'Toy', 'Short Sword', 'Prepared Meal', 'Training Sword', 'Breastplate', 'Leggings', 'High Boots', 'Low Boots', 'Pearlash', 'Gypsum Plaster', 'Giant Axe Blade', 'Milk of Lime', 'Dye', 'Socks', 'Cage', 'Ring', 'Crutch', 'Bolt', 'Codex', 'Mail Shirt', 'Spear']

  craftsanity_enable_materials:
    # If craftsanity is enabled, Do you want seperate crafting checks based on material type?
    # EX: Craft X amount of "Y" Item. Here is where "Y" matters if enabled
    'false': 50
    'true': 0

  craftsanity_materials:
    # Select which material types for crafting X amount are required.
    ['Glass', 'Adamantine', 'Stone', 'Wood', 'Bone', 'Metal', 'Ceramic', 'Cloth', 'Leather']

  craftsanity_max_amount:
    # If Craftsanity is enabled, what is the max amount you need to make per item?
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 500
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-500: 0 # random value between 10 and 500

  craftsanity_threshold:
    # If Craftsanity is enabled, How many items crafted is a check?
    # ex: 10 = every 10 crafted items is a check
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 500
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-500: 0 # random value between 5 and 500

  ###############
  # Skillsanity #
  ###############
  skillsanity:
    # Dwarves leveling up their skills are checks. (Careful, some skills are harder to train than others)
    'false': 50
    'true': 0

  skillsanity_skill_group:
    # Selects which skills count as skillsanity location checks.
    # Easy Skills: Miner, Carpenter, Wood Cutter, Bowyer, Mason, Stone Cutter, Stone Carver, Ambusher, Brewer, Cook, Planter, Herbalist,
    #  Spinner, Tanner, Wood Burner, Butcher, Furnace Operator, Gem Cutter, Bone Carver, Clothier, Glassmaker,
    #  Leatherworker, Potter, Glazer, Stone Crafter, Weaver, Wood Crafter, Mechanic, Pump Operator, Siege Engineer
    # 
    # Medium Skills: Easy + Engraver, Stone Carver, Animal Trainer, Diagnostician, Cheese Maker, Dyer, Lye Maker, Milker, Miller,
    #  Potash Maker, Presser, Shearer, Soaper, Thresher, Fisherdwarf, Fish Cleaner, Fish Dissector, Armorsmith, Metal Crafter,
    #  Blacksmith, Weaponsmith, Gem Setter, Siege Operator, Appraiser, Organizer, Record Keeper
    # 
    # All Skills: Easy + Medium + Trapper, Bone Doctor, Surgeon, Suturer, Wound Dresser, Beekeeper, Gelder, Strand Extractor, Wax Worker,
    #  Bookbinder, Papermaker, Gelder
    # 
    # Choose: Pick skills manually using the 'Skillsanity Skills Locations' list below.
    easy: 0
    medium: 50
    all: 0
    choose: 0

  skillsanity_skills:
    # Manual skill selection for skillsanity checks.
    # Only active when Skillsanity Skill Group is set to 'Choose'.
    ['Butcher', 'Clothier', 'Glassmaker', 'Shearer', 'Strand Extractor', 'Miner', 'Armorsmith', 'Mason', 'Appraiser', 'Lye Maker', 'Animal Trainer', 'Milker', 'Fisherdwarf', 'Glazer', 'Mechanic', 'Diagnostician', 'Soaper', 'Brewer', 'Wax Worker', 'Herbalist', 'Siege Engineer', 'Metal Crafter', 'Weaver', 'Bowyer', 'Planter', 'Fish Cleaner', 'Stonecutter', 'Blacksmith', 'Bone Doctor', 'Wood Burner', 'Wood Crafter', 'Pump Operator', 'Surgeon', 'Suturer', 'Presser', 'Beekeeper', 'Furnace Operator', 'Bookbinder', 'Miller', 'Potter', 'Weaponsmith', 'Record Keeper', 'Gelder', 'Stone Carver', 'Engraver', 'Ambusher', 'Stone Crafter', 'Fish Dissector', 'Papermaker', 'Dyer', 'Organizer', 'Wound Dresser', 'Spinner', 'Carpenter', 'Leatherworker', 'Bone Carver', 'Thresher', 'Tanner', 'Potash Maker', 'Wood Cutter', 'Trapper', 'Gem Setter', 'Cheese Maker', 'Siege Operator', 'Gem Cutter', 'Cook']

  skillsanity_enable_combat:
    # Part of Skillsanity, should combat skills levels be included as checks?
    # Pikedwarf, Misc. Object User and Thrower are not included as they are next to impossible
    # to level up in fortress mode.
    'false': 0
    'true': 50

  skillsanity_combat_skill_group:
    # Selects which combat skills count as skillsanity location checks.
    # Easy Combat Skills: Archer, Axedwarf, Crossbowdwarf, Dodger, Discipline, Fighter, Hammerdwarf,
    # Macedwarf, Speardwarf, Sworddwarf
    # 
    # Medium Combat Skills: Easy + Armordwarf, Kicker, Tactics, Wrestler, Striker, Shielddwarf
    # 
    # All Combat Skills: Easy + Medium + Biter, Blowgunner, Bowdwarf, Knifedwarf, Lasher
    # 
    # Choose: Pick skills manually using the 'Skillsanity Combat Skills Locations' list below.
    easy: 0
    medium: 50
    all: 0
    choose: 0

  skillsanity_combat_skills:
    # Manual combat skill selection for skillsanity checks.
    # Only active when Skillsanity Combat Skill Group is set to 'Choose'.
    ['Armordwarf', 'Axedwarf', 'Sworddwarf', 'Blowgunner', 'Fighter', 'Dodger', 'Bowdwarf', 'Kicker', 'Crossbowdwarf', 'Speardwarf', 'Striker', 'Lasher', 'Macedwarf', 'Knifedwarf', 'Discipline', 'Wrestler', 'Shielddwarf', 'Archer', 'Biter', 'Tactics', 'Hammerdwarf']

  skillsanity_max_level:
    # Max level for skills as a check.
    # 1 = Novice, 15 = Legendary
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 15
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-15: 0 # random value between 1 and 15

  skillsanity_behaviour:
    # When a dwarf joins your fortress from a migrant wave or as part of your embark, 
    # do you want their skills untouched (level 7 miner = 7 mining checks sent at once)
    # Or do you want them to come in with skills lowered to match your next check? 
    # eg: If you already have a level 3 Miner on site (meaning 3 mining skill checks already sent), if a new level 7
    # miner shows up, their mining skill lowers to Level 4 and only 1 additional mining check is sent.  
    # 1 = Novice, 15 = Legendary
    untouched: 50
    lower_skills: 0

  ###################
  # Merchant's Shop #
  ###################
  merchant_shop:
    # Enable the Merchant's Shop: spend minted coins to buy multiworld items from
    # 50 shop slots (10 unlocked per Merchant's Coffer received).
    # When disabled, no shop slots are created and the shop tab stays empty.
    'false': 0
    'true': 50

  shop_price_multiplier:
    # Scales every shop slot's coin price, as a percentage of the default range.
    # 100 = default prices, 50 = half price, 200 = double, etc. Has no effect when
    # the Merchant's Shop is disabled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 1000
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-1000: 0 # random value between 10 and 1000

  ###########################
  # Item & Location Options #
  ###########################
  start_inventory:
    # Starting Blueprints to make your starting game less "fun"
    Carpenter's Workshop Blueprint: 1
    Farm Plot Blueprint: 1
    Still Blueprint: 1
    Stoneworker's Workshop Blueprint: 1

  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
